perm filename TAPNEW.F4[MUS,LCS] blob
sn#159140 filedate 1975-05-16 generic text, type T, neo UTF8
00100 C FEB 21,73 ****** COPIES .DMD FILES TO AND FROM TAPE FOR FURTHER PROCESSING. *****
00200 C LOAD WITH FSTUDP.REL -- TYPE '-1' FOR FINAL NAME TO RETURN TO NAME #1.
00210 C TYPE 'HELP' FOR INFO.
00300 C TO ADD TO DATA ALREADY ON TAPE, TYPE 'END' AS NAME #1.
00500 C TO RESTORE TO DSK, TYPE 'RESTORE'. TO MOVE TO MIDDLE OF TAPE, TYPE
00600 C 'NAME END'. 'NAME' WILL BE LAST FILE PASSED ON TAPE.
00700 C 'BACKSPACE' MOVES BACK TO START OF CURRENT FILE.
00800 C 'COPY' COPIES FROM MTA1 TO MTA0.
00900 DIMENSION JSB(1172)
01000 EQUIVALENCE (JSB(5),JSB5),(JSB(3),JSB3),(JSB(4),JSB4)
01100 100 FORMAT(' TYPE NAME #1'/)
01200 200 FORMAT(' TYPE FINAL NAME'/)
01300 300 FORMAT(2XA5,' MAXAMP=',I5)
01400 400 FORMAT(A5,1XA5)
01500 500 FORMAT(' POSSIBLE COMMANDS:'/' END'/' NAME END'/' BACKSPACE'/
01550 1,' RESTORE'/' COPY (COPIES FROM MTA1 TO MTA0)'/' REWIND'/'
01575 1 --IF JUST NAMES ARE GIVEN, THEY WILL BE WRITTEN ON MTA0'/
01580 1' TYPE -1 TO BACKUP TO NAME #1'/)
01600 600 FORMAT(' MOVING TO END OF TAPE')
01700 800 FORMAT(' ******** REMEMBER MAXAMP NUMBER!!')
01800 700 FORMAT(A1)
01900 900 FORMAT(' WRITE ON MTA0??'/)
02000 RESTO=0
02100 COPY=0
02200 JNM='AAAAA'
02300 54 TYPE 100
02400 CALL GETTAP
02500 ACCEPT 400,NAME,NM2
02550 IF(NAME.NE.'HELP')GO TO 541
02560 TYPE 500
02570 GO TO 54
02600 541 IF(NAME.EQ.'BACKS')GO TO 440
02700 IF(NAME.EQ.'RESTO')RESTO=-1.
02800 IF((NAME.EQ.'END'.OR.NM2.NE.' ').AND.RESTO.EQ.0)GO TO 220
02900 IF(NAME.NE.'REWIN')GO TO 1201
03000 REWIND 16
03100 GO TO 54
03200 1201 IF(NAME.EQ.' ')NAME='MUSAA'
03300 2 JNM=JNM+((NAME-JNM)/256*256)
03400 KNM=JNM
03500 C AUTOMATICALLY SETS BASIC NAME TO 'A' ENDING.
03600 1002 TYPE 200
03700 ACCEPT 400,NM2
03800 IF(NM2.EQ.'-1')GO TO 54
03900 IF(RESTO)GO TO 7
04000 IF(NM2.EQ.' ')NM2=NAME
04100 TYPE 900
04200 ACCEPT 700,K
04300 IF(K.NE.'Y')GO TO 54
04400 IF(NAME.EQ.'COPY')GO TO 777
04500 11 CALL GETFIL(NAME)
04600 CALL FASTIN(JSB(1),128)
04700 JSB4=9999
04800 JSB5=9998
04900 JSB3=NAME
05000 CALL TOTAPE(JSB(1),128)
05100 JSC=JSB(1)
05200 IF(JSC.GT.1172)JSC=1172
05300 111 CALL FASTIN(JSB(1),JSC)
05400 CALL TOTAPE(JSB(1),JSC)
05500 IF(JSB(JSC).EQ.0)GO TO 111
05600 6 TYPE 300,NAME,JSB(JSC)
05700 IF(NAME.EQ.NM2)GO TO 22
05800 NAME=NAME+2
05900 IF(NAME.LE.JNM+50)GO TO 11
06000 JNM=JNM+256
06100 IF(JNM.LE.KNM+6400)GO TO 1017
06200 KNM=JNM+26112
06300 JNM=KNM
06400 C RAISES 'AAAZA' TO 'AABAA'
06500 1017 NAME=JNM
06600 GO TO 11
06700
06800 222 NAME=NM2
06900 22 JSB(1)=-1
07000 JSB3=NAME
07100 JSB4=9999
07200 JSB5=9998
07300 CALL TOTAPE(JSB(1),128)
07400 C '-1' MARKS END OF THIS BATCH OF DATA.
07500 C '9999' IDENTIFIES IT AS MUSIC DATA WHEN TAPE IS READ.
07600 CALL FINTAP
07700 CALL BACKSP
07800 CALL BACKSP
07900 TYPE 800
08000 CALL EXIT
08100
08200 C ***** NEXT MOVES TO END OF TAPE ****
08300 220 TYPE 600
08400 NM2=NAME
08500 210 CALL INTAPE(JSB(1),128)
08600 IF(JSB5.NE.9998)GO TO 210
08700 JSC=JSB(1)
08710 IF(JSC.GT.1172)JSC=1172
08800 N=JSB3
08900 IF(JSC.NE.-1)GO TO 310
09000 NM2=' '
09100 230 TYPE 400,NM2,JSB3
09200 CALL BACKSP
09300 GO TO 54
09400 310 CALL INTAPE(JSB(1),JSC)
09500 IF(JSB(JSC).EQ.0)GO TO 310
09600 TYPE 300,N,JSB(JSC)
09700 IF(N.EQ.NM2)GO TO 54
09800 GO TO 210
09900
10000 C ***** NEXT BACKSPACES *****
10100 440 CALL BACKSPACE
10200 CALL BACKSPACE
10300 CALL INTAPE(JSB(1),128)
10400 IF(JSB4.NE.9999)GO TO 440
10500 NM2=' REDO'
10600 GO TO 230
10700
10800 C ***** NEXT RESTORES FILES TO DSK OR COPIES TAPE TO TAPE ******
10900 777 CALL MTA1
11000 COPY=-1.
11100 7 K=5
11200 77 IF(RESTO)CALL INTAPE(JSB(1),128)
11300 IF(COPY)CALL INMTA1(JSB(1),128)
11400 K=K-1
11500 IF(K)CALL EXIT
11600 IF(JSB(1).EQ.-1.OR.JSB4.NE.9999)GO TO 77
11700 K=5
11800 JSC=JSB(1)
11810 IF(JSC.GT.1172)JSC=1172
11900 KNM=' '
12000 N=JSB3
12100 IF(COPY)GO TO 88
12200 CALL PUTFIL(JSB3)
12300 CALL FASTOU(JSB(1),128)
12400 GO TO 8
12500 88 CALL TOTAPE(JSB(1),128)
12600
12700 8 IF(COPY)GO TO 188
12800 CALL INTAPE(JSB(1),JSC)
12900 CALL FASTOU(JSB(1),JSC)
13000 GO TO 288
13100 188 CALL INMTA1(JSB(1),JSC)
13200 CALL TOTAPE(JSB(1),JSC)
13300 288 IF(JSB(JSC).EQ.0)GO TO 8
13400 TYPE 400,KNM,N
13500 IF(RESTO)CALL FINFIL
13600 IF(N.NE.NM2)GO TO 7
13700 IF(COPY)GO TO 222
13800 END